Fix xspy_get_permissions -- you can't increment the perms pointer when
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Tue, 23 May 2006 15:14:03 +0000 (16:14 +0100)
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Tue, 23 May 2006 15:14:03 +0000 (16:14 +0100)
iterating and expect to be able to free that pointer afterwards.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/lowlevel/xs/xs.c

index c900c5ed51bf8b84bc7610e2f023f2fea701cf4e..348e1fe6566700b717c37cf07f7dd92c67aca04f 100644 (file)
@@ -272,11 +272,12 @@ static PyObject *xspy_get_permissions(XsHandle *self, PyObject *args)
 
     if (perms) {
         PyObject *val = PyList_New(perms_n);
-        for (i = 0; i < perms_n; i++, perms++) {
-            PyObject *p = Py_BuildValue("{s:i,s:i,s:i}",
-                                        "dom",  perms->id,
-                                        "read", perms->perms & XS_PERM_READ,
-                                        "write",perms->perms & XS_PERM_WRITE);
+        for (i = 0; i < perms_n; i++) {
+            PyObject *p =
+                Py_BuildValue("{s:i,s:i,s:i}",
+                              "dom",   perms[i].id,
+                              "read",  perms[i].perms & XS_PERM_READ,
+                              "write", perms[i].perms & XS_PERM_WRITE);
             PyList_SetItem(val, i, p);
         }